void LoadImagesAndTimestamps(const int startFrame,
                             const int endFrame,
                             const string path2imgs,
                             vector<vector<string>> &vstrImageFilenames,
                             vector<double> &vTimestamps)
{ // 读取图像和对应的时间戳
    vstrImageFilenames.resize(3);
    ifstream fTimes;
    // old
    string strPathTimeFile = path2imgs + "/images_and_timestamps.txt";
    // cur
    // string strPathTimeFile = path2imgs + "/left_timestamps.txt";

    fTimes.open(strPathTimeFile.c_str());
    string line;

    cout << strPathTimeFile << endl;

    int cnt = 1;
    while (std::getline(fTimes, line))
    {
        if (cnt >= startFrame && cnt < endFrame) // skip until startframe
        {
            std::istringstream iss(line);
            double timestamp;
            string pathimg1, pathimg2, pathimg3;
            if (!(iss >> timestamp >> pathimg1 >> pathimg2 >> pathimg3))
                break;
            cout << path2imgs + '/' + pathimg1 << endl;
            vTimestamps.push_back(timestamp);
            vstrImageFilenames[0].push_back(path2imgs + '/' + pathimg1);
            vstrImageFilenames[1].push_back(path2imgs + '/' + pathimg2);
            vstrImageFilenames[2].push_back(path2imgs + '/' + pathimg3);

            // cout << vstrImageFilenames[0][1] << endl;
        }
        ++cnt;
    }
}